The evolution of terminals such as tablets, computers, smart phones, game consoles, personal digital assistants, and the like resulted in the possibility to consume video or audio content.
Progressive download is a way to download desired content from a server to a client. The client may be implemented in a mobile terminal, hereinafter referred to as a User Equipment (UE). Using progressive download, a client application running on the UE can start playback of the desired content before the entire content is downloaded. When the download starts, the client application stores the beginning of the desired content, such as a media file, in a playout buffer. This phase is called initial buffering. A media file refers to any audio or video file.
When the playout buffer contains a certain amount of the desired content, e.g. the first few seconds, the client application can start playback, while at the same time it continues to download the remaining of the desired content into the playout buffer. If the download speed is high enough, the download is “ahead” of the playback, and hence the user experiences a continuous media experience.
However, the need for initial buffering results in a waiting time when the user starts to view the desired content. The waiting time impacts the user's perceived service quality.
Caching media is a well-known technique for improving access times and optimizing bandwidth usage in telecommunication or enterprise networks. A cache uses a block of memory, or disk space, or other storage device to temporarily store a copy of some content that is likely to be needed in the future. A way to improve caching efficiency is to use prefetching. Prefetching is a technique that downloads content to a cache in e.g. a UE in advance of it being accessed. See, as an example, the published patent application WO 2011/075019 A1, which concerns prefetching of content and discusses a way to predict what content a user will be interested in, and then prefetch it to his/her UE. The prediction is based on user preferences, history etc.
The article “Workload generation for YouTube”, by Abdolreza Abhari and Mojgan Soraya, discusses partial caching of YouTube video files as a way to improve cache performance and video playback time. A five second beginning part, required for buffering purposes, for each video is cached in a proxy cache. The work presented by the article is related to a simulation scenario where the authors have developed a YouTube synthetic workload generator for evaluating the performance of caching or peer-to-peer (P2P) content delivery architectures for YouTube. The article also refers to related work wherein peers in a P2P system, based on social network, are re-distributing the videos that they have cached. A prefetching strategy is used to prefetch a five second beginning part of the next video in the related social network in each peer in order to decrease the start up delay of P2P overlay.
A drawback with prefetching of content is that it consumes a large amount of resources, since the caching is performed before the content is actually accessed. Additionally, if the caching is based on a prediction of which content will need to be accessed, significant capacity is wasted, unless the prediction is very accurate, and the hit rate is very high. This is especially the case when prefetching content to a UE connected to a wireless access network, such as a radio access network in a mobile telecommunications network. To prefetch a beginning part of content, as described in the above cited article, is a step in the direction of improving the technique of prefetching. There is however still a need for solutions that further improves the techniques of caching content to a UE, especially when the UE is connected to a wireless access network, and the caching is performed in advance of the content being accessed.